1. Technical Field
The present invention relates generally to data processing and in particular to digital signal transmission. Still more particularly, the present invention relates to an equalizer with rapid time convergence.
2. Description of the Related Art
Digital signal processing is concerned with the digital representation of signals and the use of digital processors to analyze, modify, or extract information from signals. Most signals are analog in nature, meaning that they often vary continuously with time and represent variations of physical quantities, such as sound waves. The signals used in many digital signal processing (DSP) are derived from analog signals, which have been sampled at regular intervals and converted into a digital form. One reason for processing a digital signal may be, for example, to remove interference or noise from the signal, to obtain the spectrum of the data, or to transform the signal into a more suitable form. DSP is being used in many areas where analog processing was previously used. In addition, DSP allows for new applications, which were difficult or impossible using analog processing. DSP provides advantages, such as, for example, (1) accuracy is limited only by the number of bits used, (2) reproducibility in which performance is identical from unit to unit because no variations exists due to tolerances, and (3) no drift in performance is present with changes in temperature or age.
In DSP, digital filtering is one of the most important operations present. A common filtering objective in digital filtering is to remove or reduce noise from a wanted signal. A filter is essentially a system or network that selectively changes the wave-shape, amplitude-frequency characteristics of a signal in a desired manner. Common filtering objectives are to improve the quality of the signal. A digital filter is a mathematical algorithm implemented in hardware and/or software that operates on a digital input signal to produce a digital output signal for the purpose of achieving a filtering objective, such as reducing or eliminating noise. The term digital filter is used to refer to both hardware and software routines used to perform filtering functions. Digital filters often operate on digitized analog signals or just numbers, representing some variable stored in a computer memory.
Turing to FIG. 1, an illustration of a known process for filtering symbols is shown. Symbols 100 are transmitted by a transmitter to the receiver over a channel 102, which may result in distortion of the data to cause xe2x80x9cfuzzyxe2x80x9d data 104 to be received by the receiver. An equalizer 106 and a slicer 108 located in the receiver is employed to process the incoming waveform. Equalizer 106 is an adaptive digital filter in this example. Slicer 108 is used to determine the amount of error which is used to adjust coefficients in real time.
The time needed for an equalizer to reduce the transient errors below a steady state error level is known as the xe2x80x9cconvergence timexe2x80x9d. In other words, convergence time is how fast coefficients are fixed or adjusted to be effective in processing a signal. The classical conflict between speed and accuracy is well known in adaptive filter design. By making a step size (e=1) in the adjustment of the coefficients larger, the speed in convergence is increased, but the accuracy (M=1) is decreased. On the other hand, employing a very small step size (e less than  less than 1) increases accuracy with a decrease in speed. Small or fast convergence time requires high speed.
With reference to FIG. 2, a graph illustrating the problem of speed versus accuracy is depicted. Graph 200 shows time on the x-axis and mean square error on the y-axis. Curves 202 and 204 are learning curves averaged over five hundred iterations. Curve 202 represents a learning curve using a step size of 0.01 while curve 204 illustrates a learning curve for a step size of 0.05. As can be seen, curve 204 shows a faster convergence time than curve 202. In addition, accuracy is decreased in curve 204 when compared to the accuracy in curve 202. If the coefficients are adjusted too quickly through larger step sizes, the filter in the equalizer may become unstable. By using smaller step sizes, the time it takes to converge becomes unacceptable for many applications.
Therefore, it would be advantageous to have an improved method and apparatus for increasing the speed of convergence while maintaining accuracy.
The present invention provides a method and apparatus for reducing convergence time in a digital filter while maintaining a small step size. Initially, coefficients may be pre-loaded into the filter or training data may be used in which the coefficients in the digital filter are adjusted to reduce error in the output of the digital filter. When the adjusted coefficients meet a selected error level, these coefficients are stored in a memory and the digital filter filters data. The next time the digital filter is run, the stored coefficients are loaded into the digital filter and a number of iterations are run in which the coefficients are adjusted. Then, a determination is made as to whether the error level meets an acceptance threshold that the coefficients can be continuously used to reach an optimum threshold, which may be the same as the acceptance threshold, but is typically tighter than the acceptance threshold. If the coefficients meet the threshold, the coefficients are continuously adjusted until the optimum threshold is reached and the filter is then used to filter data. Otherwise, the filter is loaded with another set of coefficients from memory and the process is repeated until the last set of coefficients is loaded. If none of the sets of coefficients meet the acceptance threshold, the filter has no choice but to use the normal convergence process. A number of sets of coefficients may be stored in the memory and a set of coefficients unable to meet the threshold is replaced with another set of coefficients until the threshold is met or untested sets of coefficients are no longer present in the memory. At that time, a default set of coefficients may be used.